// |reftest| skip-if(!this.hasOwnProperty("SIMD"))
var BUGNUMBER = 1050214;

var summary = "SIMD shuffle mask's constants";

function test() {
  print(BUGNUMBER + ": " + summary);

  assertEq(SIMD.XXXX, 0x0);
  assertEq(SIMD.XXXY, 0x40);
  assertEq(SIMD.XXXZ, 0x80);
  assertEq(SIMD.XXXW, 0xC0);
  assertEq(SIMD.XXYX, 0x10);
  assertEq(SIMD.XXYY, 0x50);
  assertEq(SIMD.XXYZ, 0x90);
  assertEq(SIMD.XXYW, 0xD0);
  assertEq(SIMD.XXZX, 0x20);
  assertEq(SIMD.XXZY, 0x60);
  assertEq(SIMD.XXZZ, 0xA0);
  assertEq(SIMD.XXZW, 0xE0);
  assertEq(SIMD.XXWX, 0x30);
  assertEq(SIMD.XXWY, 0x70);
  assertEq(SIMD.XXWZ, 0xB0);
  assertEq(SIMD.XXWW, 0xF0);
  assertEq(SIMD.XYXX, 0x4);
  assertEq(SIMD.XYXY, 0x44);
  assertEq(SIMD.XYXZ, 0x84);
  assertEq(SIMD.XYXW, 0xC4);
  assertEq(SIMD.XYYX, 0x14);
  assertEq(SIMD.XYYY, 0x54);
  assertEq(SIMD.XYYZ, 0x94);
  assertEq(SIMD.XYYW, 0xD4);
  assertEq(SIMD.XYZX, 0x24);
  assertEq(SIMD.XYZY, 0x64);
  assertEq(SIMD.XYZZ, 0xA4);
  assertEq(SIMD.XYZW, 0xE4);
  assertEq(SIMD.XYWX, 0x34);
  assertEq(SIMD.XYWY, 0x74);
  assertEq(SIMD.XYWZ, 0xB4);
  assertEq(SIMD.XYWW, 0xF4);
  assertEq(SIMD.XZXX, 0x8);
  assertEq(SIMD.XZXY, 0x48);
  assertEq(SIMD.XZXZ, 0x88);
  assertEq(SIMD.XZXW, 0xC8);
  assertEq(SIMD.XZYX, 0x18);
  assertEq(SIMD.XZYY, 0x58);
  assertEq(SIMD.XZYZ, 0x98);
  assertEq(SIMD.XZYW, 0xD8);
  assertEq(SIMD.XZZX, 0x28);
  assertEq(SIMD.XZZY, 0x68);
  assertEq(SIMD.XZZZ, 0xA8);
  assertEq(SIMD.XZZW, 0xE8);
  assertEq(SIMD.XZWX, 0x38);
  assertEq(SIMD.XZWY, 0x78);
  assertEq(SIMD.XZWZ, 0xB8);
  assertEq(SIMD.XZWW, 0xF8);
  assertEq(SIMD.XWXX, 0xC);
  assertEq(SIMD.XWXY, 0x4C);
  assertEq(SIMD.XWXZ, 0x8C);
  assertEq(SIMD.XWXW, 0xCC);
  assertEq(SIMD.XWYX, 0x1C);
  assertEq(SIMD.XWYY, 0x5C);
  assertEq(SIMD.XWYZ, 0x9C);
  assertEq(SIMD.XWYW, 0xDC);
  assertEq(SIMD.XWZX, 0x2C);
  assertEq(SIMD.XWZY, 0x6C);
  assertEq(SIMD.XWZZ, 0xAC);
  assertEq(SIMD.XWZW, 0xEC);
  assertEq(SIMD.XWWX, 0x3C);
  assertEq(SIMD.XWWY, 0x7C);
  assertEq(SIMD.XWWZ, 0xBC);
  assertEq(SIMD.XWWW, 0xFC);
  assertEq(SIMD.YXXX, 0x1);
  assertEq(SIMD.YXXY, 0x41);
  assertEq(SIMD.YXXZ, 0x81);
  assertEq(SIMD.YXXW, 0xC1);
  assertEq(SIMD.YXYX, 0x11);
  assertEq(SIMD.YXYY, 0x51);
  assertEq(SIMD.YXYZ, 0x91);
  assertEq(SIMD.YXYW, 0xD1);
  assertEq(SIMD.YXZX, 0x21);
  assertEq(SIMD.YXZY, 0x61);
  assertEq(SIMD.YXZZ, 0xA1);
  assertEq(SIMD.YXZW, 0xE1);
  assertEq(SIMD.YXWX, 0x31);
  assertEq(SIMD.YXWY, 0x71);
  assertEq(SIMD.YXWZ, 0xB1);
  assertEq(SIMD.YXWW, 0xF1);
  assertEq(SIMD.YYXX, 0x5);
  assertEq(SIMD.YYXY, 0x45);
  assertEq(SIMD.YYXZ, 0x85);
  assertEq(SIMD.YYXW, 0xC5);
  assertEq(SIMD.YYYX, 0x15);
  assertEq(SIMD.YYYY, 0x55);
  assertEq(SIMD.YYYZ, 0x95);
  assertEq(SIMD.YYYW, 0xD5);
  assertEq(SIMD.YYZX, 0x25);
  assertEq(SIMD.YYZY, 0x65);
  assertEq(SIMD.YYZZ, 0xA5);
  assertEq(SIMD.YYZW, 0xE5);
  assertEq(SIMD.YYWX, 0x35);
  assertEq(SIMD.YYWY, 0x75);
  assertEq(SIMD.YYWZ, 0xB5);
  assertEq(SIMD.YYWW, 0xF5);
  assertEq(SIMD.YZXX, 0x9);
  assertEq(SIMD.YZXY, 0x49);
  assertEq(SIMD.YZXZ, 0x89);
  assertEq(SIMD.YZXW, 0xC9);
  assertEq(SIMD.YZYX, 0x19);
  assertEq(SIMD.YZYY, 0x59);
  assertEq(SIMD.YZYZ, 0x99);
  assertEq(SIMD.YZYW, 0xD9);
  assertEq(SIMD.YZZX, 0x29);
  assertEq(SIMD.YZZY, 0x69);
  assertEq(SIMD.YZZZ, 0xA9);
  assertEq(SIMD.YZZW, 0xE9);
  assertEq(SIMD.YZWX, 0x39);
  assertEq(SIMD.YZWY, 0x79);
  assertEq(SIMD.YZWZ, 0xB9);
  assertEq(SIMD.YZWW, 0xF9);
  assertEq(SIMD.YWXX, 0xD);
  assertEq(SIMD.YWXY, 0x4D);
  assertEq(SIMD.YWXZ, 0x8D);
  assertEq(SIMD.YWXW, 0xCD);
  assertEq(SIMD.YWYX, 0x1D);
  assertEq(SIMD.YWYY, 0x5D);
  assertEq(SIMD.YWYZ, 0x9D);
  assertEq(SIMD.YWYW, 0xDD);
  assertEq(SIMD.YWZX, 0x2D);
  assertEq(SIMD.YWZY, 0x6D);
  assertEq(SIMD.YWZZ, 0xAD);
  assertEq(SIMD.YWZW, 0xED);
  assertEq(SIMD.YWWX, 0x3D);
  assertEq(SIMD.YWWY, 0x7D);
  assertEq(SIMD.YWWZ, 0xBD);
  assertEq(SIMD.YWWW, 0xFD);
  assertEq(SIMD.ZXXX, 0x2);
  assertEq(SIMD.ZXXY, 0x42);
  assertEq(SIMD.ZXXZ, 0x82);
  assertEq(SIMD.ZXXW, 0xC2);
  assertEq(SIMD.ZXYX, 0x12);
  assertEq(SIMD.ZXYY, 0x52);
  assertEq(SIMD.ZXYZ, 0x92);
  assertEq(SIMD.ZXYW, 0xD2);
  assertEq(SIMD.ZXZX, 0x22);
  assertEq(SIMD.ZXZY, 0x62);
  assertEq(SIMD.ZXZZ, 0xA2);
  assertEq(SIMD.ZXZW, 0xE2);
  assertEq(SIMD.ZXWX, 0x32);
  assertEq(SIMD.ZXWY, 0x72);
  assertEq(SIMD.ZXWZ, 0xB2);
  assertEq(SIMD.ZXWW, 0xF2);
  assertEq(SIMD.ZYXX, 0x6);
  assertEq(SIMD.ZYXY, 0x46);
  assertEq(SIMD.ZYXZ, 0x86);
  assertEq(SIMD.ZYXW, 0xC6);
  assertEq(SIMD.ZYYX, 0x16);
  assertEq(SIMD.ZYYY, 0x56);
  assertEq(SIMD.ZYYZ, 0x96);
  assertEq(SIMD.ZYYW, 0xD6);
  assertEq(SIMD.ZYZX, 0x26);
  assertEq(SIMD.ZYZY, 0x66);
  assertEq(SIMD.ZYZZ, 0xA6);
  assertEq(SIMD.ZYZW, 0xE6);
  assertEq(SIMD.ZYWX, 0x36);
  assertEq(SIMD.ZYWY, 0x76);
  assertEq(SIMD.ZYWZ, 0xB6);
  assertEq(SIMD.ZYWW, 0xF6);
  assertEq(SIMD.ZZXX, 0xA);
  assertEq(SIMD.ZZXY, 0x4A);
  assertEq(SIMD.ZZXZ, 0x8A);
  assertEq(SIMD.ZZXW, 0xCA);
  assertEq(SIMD.ZZYX, 0x1A);
  assertEq(SIMD.ZZYY, 0x5A);
  assertEq(SIMD.ZZYZ, 0x9A);
  assertEq(SIMD.ZZYW, 0xDA);
  assertEq(SIMD.ZZZX, 0x2A);
  assertEq(SIMD.ZZZY, 0x6A);
  assertEq(SIMD.ZZZZ, 0xAA);
  assertEq(SIMD.ZZZW, 0xEA);
  assertEq(SIMD.ZZWX, 0x3A);
  assertEq(SIMD.ZZWY, 0x7A);
  assertEq(SIMD.ZZWZ, 0xBA);
  assertEq(SIMD.ZZWW, 0xFA);
  assertEq(SIMD.ZWXX, 0xE);
  assertEq(SIMD.ZWXY, 0x4E);
  assertEq(SIMD.ZWXZ, 0x8E);
  assertEq(SIMD.ZWXW, 0xCE);
  assertEq(SIMD.ZWYX, 0x1E);
  assertEq(SIMD.ZWYY, 0x5E);
  assertEq(SIMD.ZWYZ, 0x9E);
  assertEq(SIMD.ZWYW, 0xDE);
  assertEq(SIMD.ZWZX, 0x2E);
  assertEq(SIMD.ZWZY, 0x6E);
  assertEq(SIMD.ZWZZ, 0xAE);
  assertEq(SIMD.ZWZW, 0xEE);
  assertEq(SIMD.ZWWX, 0x3E);
  assertEq(SIMD.ZWWY, 0x7E);
  assertEq(SIMD.ZWWZ, 0xBE);
  assertEq(SIMD.ZWWW, 0xFE);
  assertEq(SIMD.WXXX, 0x3);
  assertEq(SIMD.WXXY, 0x43);
  assertEq(SIMD.WXXZ, 0x83);
  assertEq(SIMD.WXXW, 0xC3);
  assertEq(SIMD.WXYX, 0x13);
  assertEq(SIMD.WXYY, 0x53);
  assertEq(SIMD.WXYZ, 0x93);
  assertEq(SIMD.WXYW, 0xD3);
  assertEq(SIMD.WXZX, 0x23);
  assertEq(SIMD.WXZY, 0x63);
  assertEq(SIMD.WXZZ, 0xA3);
  assertEq(SIMD.WXZW, 0xE3);
  assertEq(SIMD.WXWX, 0x33);
  assertEq(SIMD.WXWY, 0x73);
  assertEq(SIMD.WXWZ, 0xB3);
  assertEq(SIMD.WXWW, 0xF3);
  assertEq(SIMD.WYXX, 0x7);
  assertEq(SIMD.WYXY, 0x47);
  assertEq(SIMD.WYXZ, 0x87);
  assertEq(SIMD.WYXW, 0xC7);
  assertEq(SIMD.WYYX, 0x17);
  assertEq(SIMD.WYYY, 0x57);
  assertEq(SIMD.WYYZ, 0x97);
  assertEq(SIMD.WYYW, 0xD7);
  assertEq(SIMD.WYZX, 0x27);
  assertEq(SIMD.WYZY, 0x67);
  assertEq(SIMD.WYZZ, 0xA7);
  assertEq(SIMD.WYZW, 0xE7);
  assertEq(SIMD.WYWX, 0x37);
  assertEq(SIMD.WYWY, 0x77);
  assertEq(SIMD.WYWZ, 0xB7);
  assertEq(SIMD.WYWW, 0xF7);
  assertEq(SIMD.WZXX, 0xB);
  assertEq(SIMD.WZXY, 0x4B);
  assertEq(SIMD.WZXZ, 0x8B);
  assertEq(SIMD.WZXW, 0xCB);
  assertEq(SIMD.WZYX, 0x1B);
  assertEq(SIMD.WZYY, 0x5B);
  assertEq(SIMD.WZYZ, 0x9B);
  assertEq(SIMD.WZYW, 0xDB);
  assertEq(SIMD.WZZX, 0x2B);
  assertEq(SIMD.WZZY, 0x6B);
  assertEq(SIMD.WZZZ, 0xAB);
  assertEq(SIMD.WZZW, 0xEB);
  assertEq(SIMD.WZWX, 0x3B);
  assertEq(SIMD.WZWY, 0x7B);
  assertEq(SIMD.WZWZ, 0xBB);
  assertEq(SIMD.WZWW, 0xFB);
  assertEq(SIMD.WWXX, 0xF);
  assertEq(SIMD.WWXY, 0x4F);
  assertEq(SIMD.WWXZ, 0x8F);
  assertEq(SIMD.WWXW, 0xCF);
  assertEq(SIMD.WWYX, 0x1F);
  assertEq(SIMD.WWYY, 0x5F);
  assertEq(SIMD.WWYZ, 0x9F);
  assertEq(SIMD.WWYW, 0xDF);
  assertEq(SIMD.WWZX, 0x2F);
  assertEq(SIMD.WWZY, 0x6F);
  assertEq(SIMD.WWZZ, 0xAF);
  assertEq(SIMD.WWZW, 0xEF);
  assertEq(SIMD.WWWX, 0x3F);
  assertEq(SIMD.WWWY, 0x7F);
  assertEq(SIMD.WWWZ, 0xBF);
  assertEq(SIMD.WWWW, 0xFF);
  assertEq(SIMD.XX, 0x0);
  assertEq(SIMD.XY, 0x2);
  assertEq(SIMD.YX, 0x1);
  assertEq(SIMD.YY, 0x3);

  if (typeof reportCompare === "function")
    reportCompare(true, true);
}

test();
